<!DOCTYPE html>
<html>
  <head>
    <title>Cathode Retro Docs</title>
    <link href="../docs.css" rel="stylesheet">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" charset="UTF-8">
    <script src="../main-scripts.js"></script>
  </head>
  <body onload="OnLoad()" class="page">
    <header class="header"><button id="sidebar-button"></button></header>
    <div id="sidebar-container" class="sidebar-container"><iframe class="sidebar-frame" src="../sidebar.html?page=start-shaders"></iframe></div>
    <div id="content-outer" class="content-outer">
      <main>
        <h1>Getting Started: The Shaders</h1>
        <p>
          The Cathode Retro shaders are built to work together - they are really one big effect, broken
          up into a series of passes.
        </p>
        <p>
          There are three main phases to Cathode Retro:
          <ul>
            <li><b><a href="generator.html">The Generator</a></b>: Convert an RGB image into an emulated NTSC scanline texture.</li>
            <li><b><a href="decoder.html">The Decoder</a></b>: Convert an NTSC scanline texture back into an RGB image.</li>
            <li><b><a href="crt-emulation.html">The CRT Emulator</a></b>: Take an RGB image and run it through an approximation of a CRT screen.</li>
          </ul>
        </p>
        <p>
          It is possible to use these pieces separately, of course - you can run the <a href="crt-emulation.html">CRT Emulator</a> directly on an
          RGB input texture if you do not wish to have any of the NTSC artifacts (for instance, if you're emulating a system with a direct 
          three-component connector, like <a href="https://en.wikipedia.org/wiki/Component_video" target="_blank">component video</a> or 
          <a href="https://en.wikipedia.org/wiki/Video_Graphics_Array" target="_blank">VGA</a>.
        </p>
        <p>
          Additionally, if you are decoding a real NTSC signal, if you have code that breaks it down into a set of scanlines (the visible portion of the 
          scanline, not including all of the <a href="../how/ntsc/black-and-white.html#Scanline">additional pieces of the signal</a>) and a set of per-scanline phases of
          the <a href="https://en.wikipedia.org/wiki/Colorburst" target="_blank">colorburst</a>, you can feed that directly into the <a href="decoder.html">Decoder</a>
          to get an RGB image out.
        </p>
        <p>
          But, if you want to use the whole system to emulate an NTSC signal run through a CRT, you would start with <a href="generator.html">the Generator</a>.
        </p>
      </main>
    </div>
  </body>
</html>